A data processing device may support simultaneous execution of multiple program tasks, and a single processor core of the data processing device may execute multiple program tasks in a sequential time-sliced manner. When a program task is suspended so that hardware resources can be utilized to execute another task, task context information associated with the task can be saved at a storage device. The task context information generally includes information stored at registers of the processor core that is executing the task being suspended. Accordingly, the context of the task is saved by copying the contents of these registers to a storage device, wherein the task can be suspended. At a later time, execution of the suspended task can be resumed by restoring the suspended task's saved context information associated to the processor core. For example, the task context information can be retrieved from the storage device and loaded into the registers at the processor core so that the contents of the registers match that at the time the first task was suspended.
The use of the same reference symbols in different drawings indicates similar or identical items.